//package com.example.studyproject.distributeId;
//
///**
// * @program: StudyProject
// * @description:
// * @author: kangwei
// * @create: 2025-05-09 13:57
// **/
//public class UUIDGenerator {
//
//    private static volatile IdWorker idWorker;
//    private final static ResourceLock RESOURCE_LOCK = new ResourceLock();
//
//    /**
//     * generate UUID using snowflake algorithm
//     *
//     * @return UUID
//     */
//    public static long generateUUID() {
//        if (idWorker == null) {
//            try (ResourceLock ignored = RESOURCE_LOCK.obtain()) {
//                if (idWorker == null) {
//                    init(null);
//                }
//            }
//        }
//        return idWorker.nextId();
//    }
//
//    /**
//     * init IdWorker
//     *
//     * @param serverNode the server node id, consider as machine id in snowflake
//     */
//    public static void init(Long serverNode) {
//        idWorker = new IdWorker(serverNode);
//    }
//}
